package apidocs;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * API请求标记
 * Created by zhangzc on 2/17/17.
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.PARAMETER})
public @interface ApiParam {

    /**
     * 参数名，如userId
     * @return
     */
    String value();

    /**
     * 参数中文名
     * @return
     */
    String name() default "";

    /**
     * 是否必须
     * @return
     */
    boolean isRequire() default true;

    /**
     * 是否大字段
     * @return
     */
    boolean isBlob() default false;

    /**
     * 是否过期字段
     * @return
     */
    boolean isDeprecated() default false;

    /**
     * 备注，一般用于说明参数范围、格式、限制等
     * @return
     */
    String note() default "";

    /**
     * 如果是枚举类型，可以在此指定
     */
    Class<? extends Enum> enumType() default NotEnum.class;
}
